import axios from "axios";
// 引入配置文件
import baseConfig from "@/config/index";

// 创建请求实体
const http = axios.create({
  baseURL: `${baseConfig.baseUrl}`,
  timeout: 30000,
});

// 请求之前拦截
http.interceptors.request.use(
  (config) => {
    // 验签或者header公共参数逻辑代码
    const params = {
      token: "",
    };
    config.header = {
      ...params,
    };
    // 其他自定义请求配置 根据需求自行配置 ...
    return config;
  },
  (config) => {
    return Promise.reject(config);
  }
);

// 请求结束后的拦截
http.interceptors.response.use(
  (response) => {
    // 响应成功逻辑代码-默认返回服务器数据
    return Promise.resolve(response);
  },
  (error) => {
    // 响应失败逻辑代码-默认返回服务器数据
    return Promise.reject(error);
  }
);

export default http;
